/*
 * Copyright (C) 2010-2011 Enrique Lara (enrique.posix2.lara@gmail.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
 * limitations under the License.
  */
package app.timetogo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

import android.database.Cursor;

import android.util.Log;

import app.timetogo.model.Alarm;
import app.timetogo.model.App;

import app.timetogo.provider.Projections;
import app.timetogo.provider.Tables.Alarms;

public final class InitReceiver extends BroadcastReceiver {
    private static final String TAG = "InitReceiver";

    @Override
    public void onReceive(final Context context, final Intent intent) {
        final String action = intent.getAction();
        Log.d(TAG, action);

        if (context.getContentResolver() == null) {
            Log.e("TAG", "FAILURE unable to get content resolver.  Alarms inactive.");

            return;
        }

        final Cursor cursor = context.getContentResolver().query(Alarms.CONTENT_URI, Projections.AlarmsAll.PROJECTION, null, null, Alarms.DEFAULT_SORT_ORDER);

        if (cursor != null) {
            if (cursor.moveToFirst()) {
                do {
                    final Alarm a = App.loadAlarm(cursor, context);
                    a.updateQuiet();
                } while (cursor.moveToNext());
            }

            cursor.close();
        }
    }
}
